package com.unhz.taigu.service;

import com.unhz.generator.pojo.Key;
import com.unhz.generator.pojo.SysUser;
import com.unhz.generator.pojo.User;
import com.unhz.generator.utils.Page;
import com.unhz.generator.vo.UserVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: 沈佳庆
 * @Description: 用户
 * @Date: Created in 下午 2:50 2018/1/24 0024
 * @Modified By:
 */
public interface UserService {

    /**
     * 分页查询
     * @param pageNo 页数
     * @param keywords 关键词
     * @return
     */
    Page<User> selectPageUser(String pageNo, Integer pageSize, String keywords,Integer adminId,Integer roleId);


    /**
     * 用户登录
     * @param userPhone 手机号
     * @param userPassword 密码
     * @return
     */

    User findLongUser(String userPhone,String userPassword );


    /**
     * 删除某一个用户
     * @param userId
     * @return
     */
    void deleteById(Integer userId);

    /**
     * 查看某个用户的信息
     * @param userId
     * @return
     */
    UserVo findUserById(Integer userId);

    /**
     * 查询全部用户的信息，Excel导出
     * @parama dministratorName 管理员名称
     * @return
     */
    List<UserVo> findAllUser(String administratorName);


    /**
     * 添加用户的信息，Excel导入
     * @param
     * @return
     * 查询所有的用户
     * @return
     */
    List<User> selectAllUser();


    /**
     * 查询全部用户的信息，Excel导入
     * @parama userName 管理员名称
     * @return
     */
    UserVo findUser(String userName);

    /**
     * 增加用户
     * @param user
     */
    int insert(User user);

    /**
     * 启用或者禁用操作
     * @param userId
     * @param isenable
     * @param adminName
     * @return
     */
    String updateIsenable(Integer userId, Integer isenable, String adminName);

    /**
     * 审核通过或者不通过操作
     * @param userId
     * @param examine
     * @return
     */
    String updateExamine(Integer userId, Integer examine, String adminName);

    UserVo findUserUpdateById(Integer userId);


    int updateUser(User user,String type);

    User selectById(Integer userId);

    /**
     * 查询一个用户的信息
     * @param userId
     * @return
     */
    User selectUserById(Integer userId);

    /**
     * 一键审核通过
     * @return
     */
    void keyPass(User user);

    /**
     * 查询某个用户
     * @param userId
     * @return
     */
    User selectByPrimaryKey(Integer userId);

    /**
     * 查询手机号
     */
    User findUserPhone(String userPhone);

    /**
     * 更改手机号
     */
    int updatePhone(User u);
}
